import { PrismaClient } from '@prisma/client';

// initialize Prisma Client
const prisma = new PrismaClient();


async function main() {

        const user1 = await prisma.user.upsert({
          where: { id: 1},
          update: {},
          create: {  //要注意有没有唯一的字段
            name: 'newking',
            email: '1027121860@qq.com',
            phone: '13160948361',
            password: 'zjhQQsybzd'
          },
        });

        const user2 = await prisma.user.upsert({
          where: { id: 2},
          update: {},
          create: {  //要注意有没有唯一的字段
            name: 'newking123',
            email: '1195047644@qq.com',
            phone: '13715082789',
            password: 'zjhQQsybzd'
          },
        });

       const post1 = await prisma.article.upsert({
          where: { id : 1 },
          update: {},
          create: {
            title: 'Sequelize 一个基于Promise的Node.js ORM框架',
            content: '支持MySQL、Postgres、MariaDB、SQLite以及Microsoft SQL Server。它具有强大的事务支持、关联关系、预读和延迟加载、读取复制等功能，并且遵从语义版本控制，支持Node v10及更高版本以便使用ES6功能。',
            uid : 1
          },
        });

        const post2 = await prisma.article.upsert({
          where: { id : 2},
          update: {},
          create: {
            title: 'TypeORM 这是目前最流行的Node.js ORM框架',
            content: '它支持多种数据库，如MySQL / MariaDB / Postgres / SQLite / Microsoft SQL Server / Oracle / sql.js等，并提供了丰富的功能，例如：实体创建、事务、关联、查询等。',
            uid : 1
          },
        });
      
        const post3 = await prisma.article.upsert({
          where: {id : 3 },
          update: {},
          create: {
            title: "Prisma 是新一代的Node.js oRM框架",
            content: 'Prisma 提供一套简洁的 API，使你更加方便地操作数据库和理解查询语句。Prisma 的 API 是类型安全的，返回的数据是普通的 JS 对象（plain old JavaScript objects）。',
            uid : 2,
          },
        });
      
        console.log({ user1,user2,post1,post2 });

}

// execute the main function
main()
  .catch((e) => {
    console.error(e);
    process.exit(1);
  })
  .finally(async () => {
    // close Prisma Client at the end
    await prisma.$disconnect();
});